package com.gxa.mapper;

import com.gxa.pojo.Goods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author makejava
 * Date: ${YEAR}/${MONTH}/${DAY}
 * Description: (Goods)表数据库访问层
 * Version: V1.0
 */
public interface GoodsMapper {

    /**
     * 通过ID查询单条数据
     *
     * @param goodsId 主键
     * @return 实例对象
     */
    Goods queryById(Integer goodsId);


    /**
     * 查询所有商品
     *
     * @return 对象列表
     */
    List<Goods> queryAll();

    /**
     * 新增数据
     *
     * @param goods 实例对象
     * @return 影响行数
     */
    int insert(Goods goods);

    /**
     * 修改数据
     *
     * @param goods 实例对象
     * @return 影响行数
     */
    int update(Goods goods);

    /**
     * 通过主键删除数据
     *
     * @param goodsId 主键
     * @return 影响行数
     */
    int deleteById(Integer goodsId);

    /**
     * 查询商品总条数
     * @return
     */
    int totalSizeGoods();

    /**
     * 根据库存单id查询商品
     * @param iooId
     * @return
     */
    List<Goods> queryGoodsByIooId(Integer iooId);

    /**
     * 添加商品
     * @param goods
     * @return
     */
    int addGoods(Goods goods);

    double selectGoodsQuanityByGoodsId(@Param("goods_id") Integer goodsId,@Param("ioo_id") Integer iooId);
}